package cn.rxyb.core.calculate;

/**
 * @author YJH
 * @version 1.0
 * @description integer计算
 * @date 2020/6/26 15:43
 */
public class LongCalculate implements NumberUtil {

    private static final LongCalculate instance = new LongCalculate();

    private LongCalculate() {
    }

    public static LongCalculate getInstance() {
        return instance;
    }


    /**
     * 提供精确的加法运算
     *
     * @param v1 数
     * @param v2 数
     * @return 和
     */
    public long add(long v1, long v2) {
        return add(Long.toString(v1), Long.toString(v2)).longValue();
    }


    /**
     * 提供精确的减法法运算
     *
     * @param v1 数
     * @param v2 数
     * @return
     */
    public long subtract(long v1, long v2) {
        return subtract(Long.toString(v1), Long.toString(v2)).longValue();
    }

    /**
     * 提供精确的乘法运算
     *
     * @param v1 数
     * @param v2 数
     * @return
     */
    public long multiply(long v1, long v2) {
        return multiply(Long.toString(v1), Long.toString(v2)).longValue();
    }

    /**
     * 提供精确的除法运算
     *
     * @param v1 数
     * @param v2 数
     * @return
     */
    public long divide(long v1, long v2) {
        return divide(Long.toString(v1), Long.toString(v2)).longValue();
    }

}
